home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / gfx / misc / gnuplot-src.lha / gnuplot-3.7.1src / gnuplot-3.7.1.lha / gnuplot-3.7.1 / install-sh < prev    next >
Unknown  |  1998-08-18  |  5.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file POSIX shell script executable (binary data) default
99% file a /bin/sh script executable (binary data) default (weak)
98% file data default
100% TrID Linux/UNIX shell script default
100% gt2 Shell Skript: '/bin/sh' default (weak)
100% binwalkID Executable script, shebang: "/bin/sh" default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 23 21 2f 62 69 6e 2f 73 | 68 0a 23 0a 08 01 00 00 |#!/bin/s|h.#.....|
|00000010| 00 00 00 00 00 00 04 00 | 00 f8 c4 0a 61 6c 6c 20 |........|....all |
|00000020| 61 20 70 72 6f 67 72 61 | 6d 2c 20 73 63 72 69 70 |a progra|m, scrip|
|00000030| 74 2c 20 6f 72 20 64 61 | 74 61 66 69 6c 65 0a 23 |t, or da|tafile.#|
|00000040| 20 54 68 69 73 20 63 6f | 6d 65 73 20 66 72 6f 6d | This co|mes from|
|00000050| 20 58 31 31 52 35 20 28 | 6d 69 74 2f 75 74 69 6c | X11R5 (|mit/util|
|00000060| 2f 73 63 72 69 70 74 73 | 2f 69 6e 73 74 61 6c 6c |/scripts|/install|
|00000070| 2e 73 68 29 2e 0a 23 0a | 23 20 43 6f 70 79 72 69 |.sh)..#.|# Copyri|
|00000080| 67 68 74 20 31 39 39 31 | 20 62 79 20 74 68 65 20 |ght 1991| by the |
|00000090| 4d 61 73 73 61 63 68 75 | 73 65 74 74 73 20 49 6e |Massachu|setts In|
|000000a0| 73 74 69 74 75 74 65 20 | 6f 66 20 54 65 63 68 6e |stitute |of Techn|
|000000b0| 6f 6c 6f 67 79 0a 23 0a | 23 20 50 65 72 6d 69 73 |ology.#.|# Permis|
|000000c0| 73 69 6f 6e 20 74 6f 20 | 75 73 65 2c 20 63 6f 70 |sion to |use, cop|
|000000d0| 79 2c 20 6d 6f 64 69 66 | 79 2c 20 64 69 73 74 72 |y, modif|y, distr|
|000000e0| 69 62 75 74 65 2c 20 61 | 6e 64 20 73 65 6c 6c 20 |ibute, a|nd sell |
|000000f0| 74 68 69 73 20 73 6f 66 | 74 77 61 72 65 20 61 6e |this sof|tware an|
|00000100| 64 20 69 74 73 0a 23 20 | 64 6f 63 75 6d 65 6e 74 |d its.# |document|
|00000110| 61 74 69 6f 6e 20 66 6f | 72 20 61 6e 79 20 70 75 |ation fo|r any pu|
|00000120| 72 70 6f 73 65 20 69 73 | 20 68 65 72 65 62 79 20 |rpose is| hereby |
|00000130| 67 72 61 6e 74 65 64 20 | 77 69 74 68 6f 75 74 20 |granted |without |
|00000140| 66 65 65 2c 20 70 72 6f | 76 69 64 65 64 20 74 68 |fee, pro|vided th|
|00000150| 61 74 0a 23 20 74 68 65 | 20 61 62 6f 76 65 20 63 |at.# the| above c|
|00000160| 6f 70 79 72 69 67 68 74 | 20 6e 6f 74 69 63 65 20 |opyright| notice |
|00000170| 61 70 70 65 61 72 20 69 | 6e 20 61 6c 6c 20 63 6f |appear i|n all co|
|00000180| 70 69 65 73 20 61 6e 64 | 20 74 68 61 74 20 62 6f |pies and| that bo|
|00000190| 74 68 20 74 68 61 74 0a | 23 20 63 6f 70 79 72 69 |th that.|# copyri|
|000001a0| 67 68 74 20 6e 6f 74 69 | 63 65 20 61 6e 64 20 74 |ght noti|ce and t|
|000001b0| 68 69 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 6e |his perm|ission n|
|000001c0| 6f 74 69 63 65 20 61 70 | 70 65 61 72 20 69 6e 20 |otice ap|pear in |
|000001d0| 73 75 70 70 6f 72 74 69 | 6e 67 0a 23 20 64 6f 63 |supporti|ng.# doc|
|000001e0| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 61 6e 64 20 |umentati|on, and |
|000001f0| 74 68 61 74 20 74 68 65 | 20 6e 61 6d 65 20 6f 66 |that the| name of|
|00000200| 20 4d 2e 49 2e 54 2e 20 | 6e 6f 74 20 62 65 20 75 | M.I.T. |not be u|
|00000210| 73 65 64 20 69 6e 20 61 | 64 76 65 72 74 69 73 69 |sed in a|dvertisi|
|00000220| 6e 67 20 6f 72 0a 23 20 | 70 75 62 6c 69 63 69 74 |ng or.# |publicit|
|00000230| 79 20 70 65 72 74 61 69 | 6e 69 6e 67 20 74 6f 20 |y pertai|ning to |
|00000240| 64 69 73 74 72 69 62 75 | 74 69 6f 6e 20 6f 66 20 |distribu|tion of |
|00000250| 74 68 65 20 73 6f 66 74 | 77 61 72 65 20 77 69 74 |the soft|ware wit|
|00000260| 68 6f 75 74 20 73 70 65 | 63 69 66 69 63 2c 0a 23 |hout spe|cific,.#|
|00000270| 20 77 72 69 74 74 65 6e | 20 70 72 69 6f 72 20 70 | written| prior p|
|00000280| 65 72 6d 69 73 73 69 6f | 6e 2e 20 20 4d 2e 49 2e |ermissio|n. M.I.|
|00000290| 54 2e 20 6d 61 6b 65 73 | 20 6e 6f 20 72 65 70 72 |T. makes| no repr|
|000002a0| 65 73 65 6e 74 61 74 69 | 6f 6e 73 20 61 62 6f 75 |esentati|ons abou|
|000002b0| 74 20 74 68 65 0a 23 20 | 73 75 69 74 61 62 69 6c |t the.# |suitabil|
|000002c0| 69 74 79 20 6f 66 20 74 | 68 69 73 20 73 6f 66 74 |ity of t|his soft|
|000002d0| 77 61 72 65 20 66 6f 72 | 20 61 6e 79 20 70 75 72 |ware for| any pur|
|000002e0| 70 6f 73 65 2e 20 20 49 | 74 20 69 73 20 70 72 6f |pose. I|t is pro|
|000002f0| 76 69 64 65 64 20 22 61 | 73 20 69 73 22 0a 23 20 |vided "a|s is".# |
|00000300| 77 69 74 68 6f 75 74 20 | 65 78 70 72 65 73 73 20 |without |express |
|00000310| 6f 72 20 69 6d 70 6c 69 | 65 64 20 77 61 72 72 61 |or impli|ed warra|
|00000320| 6e 74 79 2e 0a 23 0a 23 | 20 43 61 6c 6c 69 6e 67 |nty..#.#| Calling|
|00000330| 20 74 68 69 73 20 73 63 | 72 69 70 74 20 69 6e 73 | this sc|ript ins|
|00000340| 74 61 6c 6c 2d 73 68 20 | 69 73 20 70 72 65 66 65 |tall-sh |is prefe|
|00000350| 72 72 65 64 20 6f 76 65 | 72 20 69 6e 73 74 61 6c |rred ove|r instal|
|00000360| 6c 2e 73 68 2c 20 74 6f | 20 70 72 65 76 65 6e 74 |l.sh, to| prevent|
|00000370| 0a 23 20 60 6d 61 6b 65 | 27 20 69 6d 70 6c 69 63 |.# `make|' implic|
|00000380| 69 74 20 72 75 6c 65 73 | 20 66 72 6f 6d 20 63 72 |it rules| from cr|
|00000390| 65 61 74 69 6e 67 20 61 | 20 66 69 6c 65 20 63 61 |eating a| file ca|
|000003a0| 6c 6c 65 64 20 69 6e 73 | 74 61 6c 6c 20 66 72 6f |lled ins|tall fro|
|000003b0| 6d 20 69 74 0a 23 20 77 | 68 65 6e 20 74 68 65 72 |m it.# w|hen ther|
|000003c0| 65 20 69 73 20 6e 6f 20 | 4d 61 6b 65 66 69 6c 65 |e is no |Makefile|
|000003d0| 2e 0a 23 0a 23 20 54 68 | 69 73 20 73 63 72 69 70 |..#.# Th|is scrip|
|000003e0| 74 20 69 73 20 63 6f 6d | 70 61 74 69 62 6c 65 20 |t is com|patible |
|000003f0| 77 69 74 68 20 74 68 65 | 20 42 53 44 20 69 6e 73 |with the| BSD ins|
|00000400| 74 61 6c 6c 20 73 63 72 | 69 70 74 2c 20 62 75 74 |tall scr|ipt, but|
|00000410| 20 77 61 73 20 77 72 69 | 74 74 65 6e 0a 23 20 66 | was wri|tten.# f|
|00000420| 72 6f 6d 20 73 63 72 61 | 74 63 68 2e 20 20 49 74 |rom scra|tch. It|
|00000430| 20 63 61 6e 20 6f 6e 6c | 79 20 69 6e 73 74 61 6c | can onl|y instal|
|00000440| 6c 20 6f 6e 65 20 66 69 | 6c 65 20 61 74 20 61 20 |l one fi|le at a |
|00000450| 74 69 6d 65 2c 20 61 20 | 72 65 73 74 72 69 63 74 |time, a |restrict|
|00000460| 69 6f 6e 0a 23 20 73 68 | 61 72 65 64 20 77 69 74 |ion.# sh|ared wit|
|00000470| 68 20 6d 61 6e 79 20 4f | 53 27 73 20 69 6e 73 74 |h many O|S's inst|
|00000480| 61 6c 6c 20 70 72 6f 67 | 72 61 6d 73 2e 0a 0a 0a |all prog|rams....|
|00000490| 23 20 73 65 74 20 44 4f | 49 54 50 52 4f 47 20 74 |# set DO|ITPROG t|
|000004a0| 6f 20 65 63 68 6f 20 74 | 6f 20 74 65 73 74 20 74 |o echo t|o test t|
|000004b0| 68 69 73 20 73 63 72 69 | 70 74 0a 0a 23 20 44 6f |his scri|pt..# Do|
|000004c0| 6e 27 74 20 75 73 65 20 | 3a 2d 20 73 69 6e 63 65 |n't use |:- since|
|000004d0| 20 34 2e 33 42 53 44 20 | 61 6e 64 20 65 61 72 6c | 4.3BSD |and earl|
|000004e0| 69 65 72 20 73 68 65 6c | 6c 73 20 64 6f 6e 27 74 |ier shel|ls don't|
|000004f0| 20 6c 69 6b 65 20 69 74 | 2e 0a 64 6f 69 74 3d 22 | like it|..doit="|
|00000500| 24 7b 44 4f 49 54 50 52 | 4f 47 2d 7d 22 0a 0a 0a |${DOITPR|OG-}"...|
|00000510| 23 20 70 75 74 20 69 6e | 20 61 62 73 6f 6c 75 74 |# put in| absolut|
|00000520| 65 20 70 61 74 68 73 20 | 69 66 20 79 6f 75 20 64 |e paths |if you d|
|00000530| 6f 6e 27 74 20 68 61 76 | 65 20 74 68 65 6d 20 69 |on't hav|e them i|
|00000540| 6e 20 79 6f 75 72 20 70 | 61 74 68 3b 20 6f 72 20 |n your p|ath; or |
|00000550| 75 73 65 20 65 6e 76 2e | 20 76 61 72 73 2e 0a 0a |use env.| vars...|
|00000560| 6d 76 70 72 6f 67 3d 22 | 24 7b 4d 56 50 52 4f 47 |mvprog="|${MVPROG|
|00000570| 2d 6d 76 7d 22 0a 63 70 | 70 72 6f 67 3d 22 24 7b |-mv}".cp|prog="${|
|00000580| 43 50 50 52 4f 47 2d 63 | 70 7d 22 0a 63 68 6d 6f |CPPROG-c|p}".chmo|
|00000590| 64 70 72 6f 67 3d 22 24 | 7b 43 48 4d 4f 44 50 52 |dprog="$|{CHMODPR|
|000005a0| 4f 47 2d 63 68 6d 6f 64 | 7d 22 0a 63 68 6f 77 6e |OG-chmod|}".chown|
|000005b0| 70 72 6f 67 3d 22 24 7b | 43 48 4f 57 4e 50 52 4f |prog="${|CHOWNPRO|
|000005c0| 47 2d 63 68 6f 77 6e 7d | 22 0a 63 68 67 72 70 70 |G-chown}|".chgrpp|
|000005d0| 72 6f 67 3d 22 24 7b 43 | 48 47 52 50 50 52 4f 47 |rog="${C|HGRPPROG|
|000005e0| 2d 63 68 67 72 70 7d 22 | 0a 73 74 72 69 70 70 72 |-chgrp}"|.strippr|
|000005f0| 6f 67 3d 22 24 7b 53 54 | 52 49 50 50 52 4f 47 2d |og="${ST|RIPPROG-|
|00000600| 73 74 72 69 70 7d 22 0a | 72 6d 70 72 6f 67 3d 22 |strip}".|rmprog="|
|00000610| 24 7b 52 4d 50 52 4f 47 | 2d 72 6d 7d 22 0a 6d 6b |${RMPROG|-rm}".mk|
|00000620| 64 69 72 70 72 6f 67 3d | 22 24 7b 4d 4b 44 49 52 |dirprog=|"${MKDIR|
|00000630| 50 52 4f 47 2d 6d 6b 64 | 69 72 7d 22 0a 0a 74 72 |PROG-mkd|ir}"..tr|
|00000640| 61 6e 73 66 6f 72 6d 62 | 61 73 65 6e 61 6d 65 3d |ansformb|asename=|
|00000650| 22 22 0a 74 72 61 6e 73 | 66 6f 72 6d 5f 61 72 67 |"".trans|form_arg|
|00000660| 3d 22 22 0a 69 6e 73 74 | 63 6d 64 3d 22 24 6d 76 |="".inst|cmd="$mv|
|00000670| 70 72 6f 67 22 0a 63 68 | 6d 6f 64 63 6d 64 3d 22 |prog".ch|modcmd="|
|00000680| 24 63 68 6d 6f 64 70 72 | 6f 67 20 30 37 35 35 22 |$chmodpr|og 0755"|
|00000690| 0a 63 68 6f 77 6e 63 6d | 64 3d 22 22 0a 63 68 67 |.chowncm|d="".chg|
|000006a0| 72 70 63 6d 64 3d 22 22 | 0a 73 74 72 69 70 63 6d |rpcmd=""|.stripcm|
|000006b0| 64 3d 22 22 0a 72 6d 63 | 6d 64 3d 22 24 72 6d 70 |d="".rmc|md="$rmp|
|000006c0| 72 6f 67 20 2d 66 22 0a | 6d 76 63 6d 64 3d 22 24 |rog -f".|mvcmd="$|
|000006d0| 6d 76 70 72 6f 67 22 0a | 73 72 63 3d 22 22 0a 64 |mvprog".|src="".d|
|000006e0| 73 74 3d 22 22 0a 64 69 | 72 5f 61 72 67 3d 22 22 |st="".di|r_arg=""|
|000006f0| 0a 0a 77 68 69 6c 65 20 | 5b 20 78 22 24 31 22 20 |..while |[ x"$1" |
|00000700| 21 3d 20 78 20 5d 3b 20 | 64 6f 0a 20 20 20 20 63 |!= x ]; |do. c|
|00000710| 61 73 65 20 24 31 20 69 | 6e 0a 09 2d 63 29 20 69 |ase $1 i|n..-c) i|
|00000720| 6e 73 74 63 6d 64 3d 22 | 24 63 70 70 72 6f 67 22 |nstcmd="|$cpprog"|
|00000730| 0a 09 20 20 20 20 73 68 | 69 66 74 0a 09 20 20 20 |.. sh|ift.. |
|00000740| 20 63 6f 6e 74 69 6e 75 | 65 3b 3b 0a 0a 09 2d 64 | continu|e;;...-d|
|00000750| 29 20 64 69 72 5f 61 72 | 67 3d 74 72 75 65 0a 09 |) dir_ar|g=true..|
|00000760| 20 20 20 20 73 68 69 66 | 74 0a 09 20 20 20 20 63 | shif|t.. c|
|00000770| 6f 6e 74 69 6e 75 65 3b | 3b 0a 0a 09 2d 6d 29 20 |ontinue;|;...-m) |
|00000780| 63 68 6d 6f 64 63 6d 64 | 3d 22 24 63 68 6d 6f 64 |chmodcmd|="$chmod|
|00000790| 70 72 6f 67 20 24 32 22 | 0a 09 20 20 20 20 73 68 |prog $2"|.. sh|
|000007a0| 69 66 74 0a 09 20 20 20 | 20 73 68 69 66 74 0a 09 |ift.. | shift..|
|000007b0| 20 20 20 20 63 6f 6e 74 | 69 6e 75 65 3b 3b 0a 0a | cont|inue;;..|
|000007c0| 09 2d 6f 29 20 63 68 6f | 77 6e 63 6d 64 3d 22 24 |.-o) cho|wncmd="$|
|000007d0| 63 68 6f 77 6e 70 72 6f | 67 20 24 32 22 0a 09 20 |chownpro|g $2".. |
|000007e0| 20 20 20 73 68 69 66 74 | 0a 09 20 20 20 20 73 68 | shift|.. sh|
|000007f0| 69 66 74 0a 09 20 20 20 | 20 63 6f 6e 74 69 6e 75 |ift.. | continu|
|00000800| 65 3b 3b 0a 0a 09 2d 67 | 29 20 63 68 67 72 70 63 |e;;...-g|) chgrpc|
|00000810| 6d 64 3d 22 24 63 68 67 | 72 70 70 72 6f 67 20 24 |md="$chg|rpprog $|
|00000820| 32 22 0a 09 20 20 20 20 | 73 68 69 66 74 0a 09 20 |2".. |shift.. |
|00000830| 20 20 20 73 68 69 66 74 | 0a 09 20 20 20 20 63 6f | shift|.. co|
|00000840| 6e 74 69 6e 75 65 3b 3b | 0a 0a 09 2d 73 29 20 73 |ntinue;;|...-s) s|
|00000850| 74 72 69 70 63 6d 64 3d | 22 24 73 74 72 69 70 70 |tripcmd=|"$stripp|
|00000860| 72 6f 67 22 0a 09 20 20 | 20 20 73 68 69 66 74 0a |rog".. | shift.|
|00000870| 09 20 20 20 20 63 6f 6e | 74 69 6e 75 65 3b 3b 0a |. con|tinue;;.|
|00000880| 0a 09 2d 74 3d 2a 29 20 | 74 72 61 6e 73 66 6f 72 |..-t=*) |transfor|
|00000890| 6d 61 72 67 3d 60 65 63 | 68 6f 20 24 31 20 7c 20 |marg=`ec|ho $1 | |
|000008a0| 73 65 64 20 27 73 2f 2d | 74 3d 2f 2f 27 60 0a 09 |sed 's/-|t=//'`..|
|000008b0| 20 20 20 20 73 68 69 66 | 74 0a 09 20 20 20 20 63 | shif|t.. c|
|000008c0| 6f 6e 74 69 6e 75 65 3b | 3b 0a 0a 09 2d 62 3d 2a |ontinue;|;...-b=*|
|000008d0| 29 20 74 72 61 6e 73 66 | 6f 72 6d 62 61 73 65 6e |) transf|ormbasen|
|000008e0| 61 6d 65 3d 60 65 63 68 | 6f 20 24 31 20 7c 20 73 |ame=`ech|o $1 | s|
|000008f0| 65 64 20 27 73 2f 2d 62 | 3d 2f 2f 27 60 0a 09 20 |ed 's/-b|=//'`.. |
|00000900| 20 20 20 73 68 69 66 74 | 0a 09 20 20 20 20 63 6f | shift|.. co|
|00000910| 6e 74 69 6e 75 65 3b 3b | 0a 0a 09 2a 29 20 20 69 |ntinue;;|...*) i|
|00000920| 66 20 5b 20 78 22 24 73 | 72 63 22 20 3d 20 78 20 |f [ x"$s|rc" = x |
|00000930| 5d 0a 09 20 20 20 20 74 | 68 65 6e 0a 09 09 73 72 |].. t|hen...sr|
|00000940| 63 3d 24 31 0a 09 20 20 | 20 20 65 6c 73 65 0a 09 |c=$1.. | else..|
|00000950| 09 23 20 74 68 69 73 20 | 63 6f 6c 6f 6e 20 69 73 |.# this |colon is|
|00000960| 20 74 6f 20 77 6f 72 6b | 20 61 72 6f 75 6e 64 20 | to work| around |
|00000970| 61 20 33 38 36 42 53 44 | 20 2f 62 69 6e 2f 73 68 |a 386BSD| /bin/sh|
|00000980| 20 62 75 67 0a 09 09 3a | 0a 09 09 64 73 74 3d 24 | bug...:|...dst=$|
|00000990| 31 0a 09 20 20 20 20 66 | 69 0a 09 20 20 20 20 73 |1.. f|i.. s|
|000009a0| 68 69 66 74 0a 09 20 20 | 20 20 63 6f 6e 74 69 6e |hift.. | contin|
|000009b0| 75 65 3b 3b 0a 20 20 20 | 20 65 73 61 63 0a 64 6f |ue;;. | esac.do|
|000009c0| 6e 65 0a 0a 69 66 20 5b | 20 78 22 24 73 72 63 22 |ne..if [| x"$src"|
|000009d0| 20 3d 20 78 20 5d 0a 74 | 68 65 6e 0a 09 65 63 68 | = x ].t|hen..ech|
|000009e0| 6f 20 22 69 6e 73 74 61 | 6c 6c 3a 09 6e 6f 20 69 |o "insta|ll:.no i|
|000009f0| 6e 70 75 74 20 66 69 6c | 65 20 73 70 65 63 69 66 |nput fil|e specif|
|00000a00| 69 65 64 22 0a 09 65 78 | 69 74 20 31 0a 65 6c 73 |ied"..ex|it 1.els|
|00000a10| 65 0a 09 74 72 75 65 0a | 66 69 0a 0a 69 66 20 5b |e..true.|fi..if [|
|00000a20| 20 78 22 24 64 69 72 5f | 61 72 67 22 20 21 3d 20 | x"$dir_|arg" != |
|00000a30| 78 20 5d 3b 20 74 68 65 | 6e 0a 09 64 73 74 3d 24 |x ]; the|n..dst=$|
|00000a40| 73 72 63 0a 09 73 72 63 | 3d 22 22 0a 09 0a 09 69 |src..src|=""....i|
|00000a50| 66 20 5b 20 2d 64 20 24 | 64 73 74 20 5d 3b 20 74 |f [ -d $|dst ]; t|
|00000a60| 68 65 6e 0a 09 09 69 6e | 73 74 63 6d 64 3d 3a 0a |hen...in|stcmd=:.|
|00000a70| 09 65 6c 73 65 0a 09 09 | 69 6e 73 74 63 6d 64 3d |.else...|instcmd=|
|00000a80| 6d 6b 64 69 72 0a 09 66 | 69 0a 65 6c 73 65 0a 0a |mkdir..f|i.else..|
|00000a90| 23 20 57 61 69 74 69 6e | 67 20 66 6f 72 20 74 68 |# Waitin|g for th|
|00000aa0| 69 73 20 74 6f 20 62 65 | 20 64 65 74 65 63 74 65 |is to be| detecte|
|00000ab0| 64 20 62 79 20 74 68 65 | 20 22 24 69 6e 73 74 63 |d by the| "$instc|
|00000ac0| 6d 64 20 24 73 72 63 20 | 24 64 73 74 74 6d 70 22 |md $src |$dsttmp"|
|00000ad0| 20 63 6f 6d 6d 61 6e 64 | 0a 23 20 6d 69 67 68 74 | command|.# might|
|00000ae0| 20 63 61 75 73 65 20 64 | 69 72 65 63 74 6f 72 69 | cause d|irectori|
|00000af0| 65 73 20 74 6f 20 62 65 | 20 63 72 65 61 74 65 64 |es to be| created|
|00000b00| 2c 20 77 68 69 63 68 20 | 77 6f 75 6c 64 20 62 65 |, which |would be|
|00000b10| 20 65 73 70 65 63 69 61 | 6c 6c 79 20 62 61 64 20 | especia|lly bad |
|00000b20| 0a 23 20 69 66 20 24 73 | 72 63 20 28 61 6e 64 20 |.# if $s|rc (and |
|00000b30| 74 68 75 73 20 24 64 73 | 74 74 6d 70 29 20 63 6f |thus $ds|ttmp) co|
|00000b40| 6e 74 61 69 6e 73 20 27 | 2a 27 2e 0a 0a 09 69 66 |ntains '|*'....if|
|00000b50| 20 5b 20 2d 66 20 24 73 | 72 63 20 2d 6f 20 2d 64 | [ -f $s|rc -o -d|
|00000b60| 20 24 73 72 63 20 5d 0a | 09 74 68 65 6e 0a 09 09 | $src ].|.then...|
|00000b70| 74 72 75 65 0a 09 65 6c | 73 65 0a 09 09 65 63 68 |true..el|se...ech|
|00000b80| 6f 20 22 69 6e 73 74 61 | 6c 6c 3a 20 20 24 73 72 |o "insta|ll: $sr|
|00000b90| 63 20 64 6f 65 73 20 6e | 6f 74 20 65 78 69 73 74 |c does n|ot exist|
|00000ba0| 22 0a 09 09 65 78 69 74 | 20 31 0a 09 66 69 0a 09 |"...exit| 1..fi..|
|00000bb0| 0a 09 69 66 20 5b 20 78 | 22 24 64 73 74 22 20 3d |..if [ x|"$dst" =|
|00000bc0| 20 78 20 5d 0a 09 74 68 | 65 6e 0a 09 09 65 63 68 | x ]..th|en...ech|
|00000bd0| 6f 20 22 69 6e 73 74 61 | 6c 6c 3a 09 6e 6f 20 64 |o "insta|ll:.no d|
|00000be0| 65 73 74 69 6e 61 74 69 | 6f 6e 20 73 70 65 63 69 |estinati|on speci|
|00000bf0| 66 69 65 64 22 0a 09 09 | 65 78 69 74 20 31 0a 09 |fied"...|exit 1..|
|00000c00| 65 6c 73 65 0a 09 09 74 | 72 75 65 0a 09 66 69 0a |else...t|rue..fi.|
|00000c10| 0a 23 20 49 66 20 64 65 | 73 74 69 6e 61 74 69 6f |.# If de|stinatio|
|00000c20| 6e 20 69 73 20 61 20 64 | 69 72 65 63 74 6f 72 79 |n is a d|irectory|
|00000c30| 2c 20 61 70 70 65 6e 64 | 20 74 68 65 20 69 6e 70 |, append| the inp|
|00000c40| 75 74 20 66 69 6c 65 6e | 61 6d 65 3b 20 69 66 20 |ut filen|ame; if |
|00000c50| 79 6f 75 72 20 73 79 73 | 74 65 6d 0a 23 20 64 6f |your sys|tem.# do|
|00000c60| 65 73 20 6e 6f 74 20 6c | 69 6b 65 20 64 6f 75 62 |es not l|ike doub|
|00000c70| 6c 65 20 73 6c 61 73 68 | 65 73 20 69 6e 20 66 69 |le slash|es in fi|
|00000c80| 6c 65 6e 61 6d 65 73 2c | 20 79 6f 75 20 6d 61 79 |lenames,| you may|
|00000c90| 20 6e 65 65 64 20 74 6f | 20 61 64 64 20 73 6f 6d | need to| add som|
|00000ca0| 65 20 6c 6f 67 69 63 0a | 0a 09 69 66 20 5b 20 2d |e logic.|..if [ -|
|00000cb0| 64 20 24 64 73 74 20 5d | 0a 09 74 68 65 6e 0a 09 |d $dst ]|..then..|
|00000cc0| 09 64 73 74 3d 22 24 64 | 73 74 22 2f 60 62 61 73 |.dst="$d|st"/`bas|
|00000cd0| 65 6e 61 6d 65 20 24 73 | 72 63 60 0a 09 65 6c 73 |ename $s|rc`..els|
|00000ce0| 65 0a 09 09 74 72 75 65 | 0a 09 66 69 0a 66 69 0a |e...true|..fi.fi.|
|00000cf0| 0a 23 23 20 74 68 69 73 | 20 73 65 64 20 63 6f 6d |.## this| sed com|
|00000d00| 6d 61 6e 64 20 65 6d 75 | 6c 61 74 65 73 20 74 68 |mand emu|lates th|
|00000d10| 65 20 64 69 72 6e 61 6d | 65 20 63 6f 6d 6d 61 6e |e dirnam|e comman|
|00000d20| 64 0a 64 73 74 64 69 72 | 3d 60 65 63 68 6f 20 24 |d.dstdir|=`echo $|
|00000d30| 64 73 74 20 7c 20 73 65 | 64 20 2d 65 20 27 73 2c |dst | se|d -e 's,|
|00000d40| 5b 5e 2f 5d 2a 24 2c 2c | 3b 73 2c 2f 24 2c 2c 3b |[^/]*$,,|;s,/$,,;|
|00000d50| 73 2c 5e 24 2c 2e 2c 27 | 60 0a 0a 23 20 4d 61 6b |s,^$,.,'|`..# Mak|
|00000d60| 65 20 73 75 72 65 20 74 | 68 61 74 20 74 68 65 20 |e sure t|hat the |
|00000d70| 64 65 73 74 69 6e 61 74 | 69 6f 6e 20 64 69 72 65 |destinat|ion dire|
|00000d80| 63 74 6f 72 79 20 65 78 | 69 73 74 73 2e 0a 23 20 |ctory ex|ists..# |
|00000d90| 20 74 68 69 73 20 70 61 | 72 74 20 69 73 20 74 61 | this pa|rt is ta|
|00000da0| 6b 65 6e 20 66 72 6f 6d | 20 4e 6f 61 68 20 46 72 |ken from| Noah Fr|
|00000db0| 69 65 64 6d 61 6e 27 73 | 20 6d 6b 69 6e 73 74 61 |iedman's| mkinsta|
|00000dc0| 6c 6c 64 69 72 73 20 73 | 63 72 69 70 74 0a 0a 23 |lldirs s|cript..#|
|00000dd0| 20 53 6b 69 70 20 6c 6f | 74 73 20 6f 66 20 73 74 | Skip lo|ts of st|
|00000de0| 61 74 20 63 61 6c 6c 73 | 20 69 6e 20 74 68 65 20 |at calls| in the |
|00000df0| 75 73 75 61 6c 20 63 61 | 73 65 2e 0a 69 66 20 5b |usual ca|se..if [|
|00000e00| 20 21 20 2d 64 20 22 24 | 64 73 74 64 69 72 22 20 | ! -d "$|dstdir" |
|00000e10| 5d 3b 20 74 68 65 6e 0a | 64 65 66 61 75 6c 74 49 |]; then.|defaultI|
|00000e20| 46 53 3d 27 09 0a 27 0a | 49 46 53 3d 22 24 7b 49 |FS='..'.|IFS="${I|
|00000e30| 46 53 2d 24 7b 64 65 66 | 61 75 6c 74 49 46 53 7d |FS-${def|aultIFS}|
|00000e40| 7d 22 0a 0a 6f 49 46 53 | 3d 22 24 7b 49 46 53 7d |}"..oIFS|="${IFS}|
|00000e50| 22 0a 23 20 53 6f 6d 65 | 20 73 68 27 73 20 63 61 |".# Some| sh's ca|
|00000e60| 6e 27 74 20 68 61 6e 64 | 6c 65 20 49 46 53 3d 2f |n't hand|le IFS=/|
|00000e70| 20 66 6f 72 20 73 6f 6d | 65 20 72 65 61 73 6f 6e | for som|e reason|
|00000e80| 2e 0a 49 46 53 3d 27 25 | 27 0a 73 65 74 20 2d 20 |..IFS='%|'.set - |
|00000e90| 60 65 63 68 6f 20 24 7b | 64 73 74 64 69 72 7d 20 |`echo ${|dstdir} |
|00000ea0| 7c 20 73 65 64 20 2d 65 | 20 27 73 40 2f 40 25 40 || sed -e| 's@/@%@|
|00000eb0| 67 27 20 2d 65 20 27 73 | 40 5e 25 40 2f 40 27 60 |g' -e 's|@^%@/@'`|
|00000ec0| 0a 49 46 53 3d 22 24 7b | 6f 49 46 53 7d 22 0a 0a |.IFS="${|oIFS}"..|
|00000ed0| 70 61 74 68 63 6f 6d 70 | 3d 27 27 0a 0a 77 68 69 |pathcomp|=''..whi|
|00000ee0| 6c 65 20 5b 20 24 23 20 | 2d 6e 65 20 30 20 5d 20 |le [ $# |-ne 0 ] |
|00000ef0| 3b 20 64 6f 0a 09 70 61 | 74 68 63 6f 6d 70 3d 22 |; do..pa|thcomp="|
|00000f00| 24 7b 70 61 74 68 63 6f | 6d 70 7d 24 7b 31 7d 22 |${pathco|mp}${1}"|
|00000f10| 0a 09 73 68 69 66 74 0a | 0a 09 69 66 20 5b 20 21 |..shift.|..if [ !|
|00000f20| 20 2d 64 20 22 24 7b 70 | 61 74 68 63 6f 6d 70 7d | -d "${p|athcomp}|
|00000f30| 22 20 5d 20 3b 0a 20 20 | 20 20 20 20 20 20 74 68 |" ] ;. | th|
|00000f40| 65 6e 0a 09 09 24 6d 6b | 64 69 72 70 72 6f 67 20 |en...$mk|dirprog |
|00000f50| 22 24 7b 70 61 74 68 63 | 6f 6d 70 7d 22 0a 09 65 |"${pathc|omp}"..e|
|00000f60| 6c 73 65 0a 09 09 74 72 | 75 65 0a 09 66 69 0a 0a |lse...tr|ue..fi..|
|00000f70| 09 70 61 74 68 63 6f 6d | 70 3d 22 24 7b 70 61 74 |.pathcom|p="${pat|
|00000f80| 68 63 6f 6d 70 7d 2f 22 | 0a 64 6f 6e 65 0a 66 69 |hcomp}/"|.done.fi|
|00000f90| 0a 0a 69 66 20 5b 20 78 | 22 24 64 69 72 5f 61 72 |..if [ x|"$dir_ar|
|00000fa0| 67 22 20 21 3d 20 78 20 | 5d 0a 74 68 65 6e 0a 09 |g" != x |].then..|
|00000fb0| 24 64 6f 69 74 20 24 69 | 6e 73 74 63 6d 64 20 24 |$doit $i|nstcmd $|
|00000fc0| 64 73 74 20 26 26 0a 0a | 09 69 66 20 5b 20 78 22 |dst &&..|.if [ x"|
|00000fd0| 24 63 68 6f 77 6e 63 6d | 64 22 20 21 3d 20 78 20 |$chowncm|d" != x |
|00000fe0| 5d 3b 20 74 68 65 6e 20 | 24 64 6f 69 74 20 24 63 |]; then |$doit $c|
|00000ff0| 68 6f 77 6e 63 6d 64 20 | 24 64 73 74 3b 20 65 6c |howncmd |$dst; el|
|00001000| 73 65 20 74 72 75 65 20 | 3b 20 66 69 20 26 26 0a |se true |; fi &&.|
|00001010| 09 69 66 20 5b 20 78 22 | 24 63 68 67 72 70 63 6d |.if [ x"|$chgrpcm|
|00001020| 64 22 20 21 3d 20 78 20 | 5d 3b 20 74 68 65 6e 20 |d" != x |]; then |
|00001030| 24 64 6f 69 74 20 24 63 | 68 67 72 70 63 6d 64 20 |$doit $c|hgrpcmd |
|00001040| 24 64 73 74 3b 20 65 6c | 73 65 20 74 72 75 65 20 |$dst; el|se true |
|00001050| 3b 20 66 69 20 26 26 0a | 09 69 66 20 5b 20 78 22 |; fi &&.|.if [ x"|
|00001060| 24 73 74 72 69 70 63 6d | 64 22 20 21 3d 20 78 20 |$stripcm|d" != x |
|00001070| 5d 3b 20 74 68 65 6e 20 | 24 64 6f 69 74 20 24 73 |]; then |$doit $s|
|00001080| 74 72 69 70 63 6d 64 20 | 24 64 73 74 3b 20 65 6c |tripcmd |$dst; el|
|00001090| 73 65 20 74 72 75 65 20 | 3b 20 66 69 20 26 26 0a |se true |; fi &&.|
|000010a0| 09 69 66 20 5b 20 78 22 | 24 63 68 6d 6f 64 63 6d |.if [ x"|$chmodcm|
|000010b0| 64 22 20 21 3d 20 78 20 | 5d 3b 20 74 68 65 6e 20 |d" != x |]; then |
|000010c0| 24 64 6f 69 74 20 24 63 | 68 6d 6f 64 63 6d 64 20 |$doit $c|hmodcmd |
|000010d0| 24 64 73 74 3b 20 65 6c | 73 65 20 74 72 75 65 20 |$dst; el|se true |
|000010e0| 3b 20 66 69 0a 65 6c 73 | 65 0a 0a 23 20 49 66 20 |; fi.els|e..# If |
|000010f0| 77 65 27 72 65 20 67 6f | 69 6e 67 20 74 6f 20 72 |we're go|ing to r|
|00001100| 65 6e 61 6d 65 20 74 68 | 65 20 66 69 6e 61 6c 20 |ename th|e final |
|00001110| 65 78 65 63 75 74 61 62 | 6c 65 2c 20 64 65 74 65 |executab|le, dete|
|00001120| 72 6d 69 6e 65 20 74 68 | 65 20 6e 61 6d 65 20 6e |rmine th|e name n|
|00001130| 6f 77 2e 0a 0a 09 69 66 | 20 5b 20 78 22 24 74 72 |ow....if| [ x"$tr|
|00001140| 61 6e 73 66 6f 72 6d 61 | 72 67 22 20 3d 20 78 20 |ansforma|rg" = x |
|00001150| 5d 20 0a 09 74 68 65 6e | 0a 09 09 64 73 74 66 69 |] ..then|...dstfi|
|00001160| 6c 65 3d 60 62 61 73 65 | 6e 61 6d 65 20 24 64 73 |le=`base|name $ds|
|00001170| 74 60 0a 09 65 6c 73 65 | 0a 09 09 64 73 74 66 69 |t`..else|...dstfi|
|00001180| 6c 65 3d 60 62 61 73 65 | 6e 61 6d 65 20 24 64 73 |le=`base|name $ds|
|00001190| 74 20 24 74 72 61 6e 73 | 66 6f 72 6d 62 61 73 65 |t $trans|formbase|
|000011a0| 6e 61 6d 65 20 7c 20 0a | 09 09 09 73 65 64 20 24 |name | .|...sed $|
|000011b0| 74 72 61 6e 73 66 6f 72 | 6d 61 72 67 60 24 74 72 |transfor|marg`$tr|
|000011c0| 61 6e 73 66 6f 72 6d 62 | 61 73 65 6e 61 6d 65 0a |ansformb|asename.|
|000011d0| 09 66 69 0a 0a 23 20 64 | 6f 6e 27 74 20 61 6c 6c |.fi..# d|on't all|
|000011e0| 6f 77 20 74 68 65 20 73 | 65 64 20 63 6f 6d 6d 61 |ow the s|ed comma|
|000011f0| 6e 64 20 74 6f 20 63 6f | 6d 70 6c 65 74 65 6c 79 |nd to co|mpletely|
|00001200| 20 65 6c 69 6d 69 6e 61 | 74 65 20 74 68 65 20 66 | elimina|te the f|
|00001210| 69 6c 65 6e 61 6d 65 0a | 0a 09 69 66 20 5b 20 78 |ilename.|..if [ x|
|00001220| 22 24 64 73 74 66 69 6c | 65 22 20 3d 20 78 20 5d |"$dstfil|e" = x ]|
|00001230| 20 0a 09 74 68 65 6e 0a | 09 09 64 73 74 66 69 6c | ..then.|..dstfil|
|00001240| 65 3d 60 62 61 73 65 6e | 61 6d 65 20 24 64 73 74 |e=`basen|ame $dst|
|00001250| 60 0a 09 65 6c 73 65 0a | 09 09 74 72 75 65 0a 09 |`..else.|..true..|
|00001260| 66 69 0a 0a 23 20 4d 61 | 6b 65 20 61 20 74 65 6d |fi..# Ma|ke a tem|
|00001270| 70 20 66 69 6c 65 20 6e | 61 6d 65 20 69 6e 20 74 |p file n|ame in t|
|00001280| 68 65 20 70 72 6f 70 65 | 72 20 64 69 72 65 63 74 |he prope|r direct|
|00001290| 6f 72 79 2e 0a 0a 09 64 | 73 74 74 6d 70 3d 24 64 |ory....d|sttmp=$d|
|000012a0| 73 74 64 69 72 2f 23 69 | 6e 73 74 2e 24 24 23 0a |stdir/#i|nst.$$#.|
|000012b0| 0a 23 20 4d 6f 76 65 20 | 6f 72 20 63 6f 70 79 20 |.# Move |or copy |
|000012c0| 74 68 65 20 66 69 6c 65 | 20 6e 61 6d 65 20 74 6f |the file| name to|
|000012d0| 20 74 68 65 20 74 65 6d | 70 20 6e 61 6d 65 0a 0a | the tem|p name..|
|000012e0| 09 24 64 6f 69 74 20 24 | 69 6e 73 74 63 6d 64 20 |.$doit $|instcmd |
|000012f0| 24 73 72 63 20 24 64 73 | 74 74 6d 70 20 26 26 0a |$src $ds|ttmp &&.|
|00001300| 0a 09 74 72 61 70 20 22 | 72 6d 20 2d 66 20 24 7b |..trap "|rm -f ${|
|00001310| 64 73 74 74 6d 70 7d 22 | 20 30 20 26 26 0a 0a 23 |dsttmp}"| 0 &&..#|
|00001320| 20 61 6e 64 20 73 65 74 | 20 61 6e 79 20 6f 70 74 | and set| any opt|
|00001330| 69 6f 6e 73 3b 20 64 6f | 20 63 68 6d 6f 64 20 6c |ions; do| chmod l|
|00001340| 61 73 74 20 74 6f 20 70 | 72 65 73 65 72 76 65 20 |ast to p|reserve |
|00001350| 73 65 74 75 69 64 20 62 | 69 74 73 0a 0a 23 20 49 |setuid b|its..# I|
|00001360| 66 20 61 6e 79 20 6f 66 | 20 74 68 65 73 65 20 66 |f any of| these f|
|00001370| 61 69 6c 2c 20 77 65 20 | 61 62 6f 72 74 20 74 68 |ail, we |abort th|
|00001380| 65 20 77 68 6f 6c 65 20 | 74 68 69 6e 67 2e 20 20 |e whole |thing. |
|00001390| 49 66 20 77 65 20 77 61 | 6e 74 20 74 6f 0a 23 20 |If we wa|nt to.# |
|000013a0| 69 67 6e 6f 72 65 20 65 | 72 72 6f 72 73 20 66 72 |ignore e|rrors fr|
|000013b0| 6f 6d 20 61 6e 79 20 6f | 66 20 74 68 65 73 65 2c |om any o|f these,|
|000013c0| 20 6a 75 73 74 20 6d 61 | 6b 65 20 73 75 72 65 20 | just ma|ke sure |
|000013d0| 6e 6f 74 20 74 6f 20 69 | 67 6e 6f 72 65 0a 23 20 |not to i|gnore.# |
|000013e0| 65 72 72 6f 72 73 20 66 | 72 6f 6d 20 74 68 65 20 |errors f|rom the |
|000013f0| 61 62 6f 76 65 20 22 24 | 64 6f 69 74 20 24 69 6e |above "$|doit $in|
|00001400| 73 74 63 6d 64 20 24 73 | 72 63 20 24 64 73 74 74 |stcmd $s|rc $dstt|
|00001410| 6d 70 22 20 63 6f 6d 6d | 61 6e 64 2e 0a 0a 09 69 |mp" comm|and....i|
|00001420| 66 20 5b 20 78 22 24 63 | 68 6f 77 6e 63 6d 64 22 |f [ x"$c|howncmd"|
|00001430| 20 21 3d 20 78 20 5d 3b | 20 74 68 65 6e 20 24 64 | != x ];| then $d|
|00001440| 6f 69 74 20 24 63 68 6f | 77 6e 63 6d 64 20 24 64 |oit $cho|wncmd $d|
|00001450| 73 74 74 6d 70 3b 20 65 | 6c 73 65 20 74 72 75 65 |sttmp; e|lse true|
|00001460| 3b 66 69 20 26 26 0a 09 | 69 66 20 5b 20 78 22 24 |;fi &&..|if [ x"$|
|00001470| 63 68 67 72 70 63 6d 64 | 22 20 21 3d 20 78 20 5d |chgrpcmd|" != x ]|
|00001480| 3b 20 74 68 65 6e 20 24 | 64 6f 69 74 20 24 63 68 |; then $|doit $ch|
|00001490| 67 72 70 63 6d 64 20 24 | 64 73 74 74 6d 70 3b 20 |grpcmd $|dsttmp; |
|000014a0| 65 6c 73 65 20 74 72 75 | 65 3b 66 69 20 26 26 0a |else tru|e;fi &&.|
|000014b0| 09 69 66 20 5b 20 78 22 | 24 73 74 72 69 70 63 6d |.if [ x"|$stripcm|
|000014c0| 64 22 20 21 3d 20 78 20 | 5d 3b 20 74 68 65 6e 20 |d" != x |]; then |
|000014d0| 24 64 6f 69 74 20 24 73 | 74 72 69 70 63 6d 64 20 |$doit $s|tripcmd |
|000014e0| 24 64 73 74 74 6d 70 3b | 20 65 6c 73 65 20 74 72 |$dsttmp;| else tr|
|000014f0| 75 65 3b 66 69 20 26 26 | 0a 09 69 66 20 5b 20 78 |ue;fi &&|..if [ x|
|00001500| 22 24 63 68 6d 6f 64 63 | 6d 64 22 20 21 3d 20 78 |"$chmodc|md" != x|
|00001510| 20 5d 3b 20 74 68 65 6e | 20 24 64 6f 69 74 20 24 | ]; then| $doit $|
|00001520| 63 68 6d 6f 64 63 6d 64 | 20 24 64 73 74 74 6d 70 |chmodcmd| $dsttmp|
|00001530| 3b 20 65 6c 73 65 20 74 | 72 75 65 3b 66 69 20 26 |; else t|rue;fi &|
|00001540| 26 0a 0a 23 20 4e 6f 77 | 20 72 65 6e 61 6d 65 20 |&..# Now| rename |
|00001550| 74 68 65 20 66 69 6c 65 | 20 74 6f 20 74 68 65 20 |the file| to the |
|00001560| 72 65 61 6c 20 64 65 73 | 74 69 6e 61 74 69 6f 6e |real des|tination|
|00001570| 2e 0a 0a 09 24 64 6f 69 | 74 20 24 72 6d 63 6d 64 |....$doi|t $rmcmd|
|00001580| 20 2d 66 20 24 64 73 74 | 64 69 72 2f 24 64 73 74 | -f $dst|dir/$dst|
|00001590| 66 69 6c 65 20 26 26 0a | 09 24 64 6f 69 74 20 24 |file &&.|.$doit $|
|000015a0| 6d 76 63 6d 64 20 24 64 | 73 74 74 6d 70 20 24 64 |mvcmd $d|sttmp $d|
|000015b0| 73 74 64 69 72 2f 24 64 | 73 74 66 69 6c 65 20 0a |stdir/$d|stfile .|
|000015c0| 0a 66 69 20 26 26 0a 0a | 0a 65 78 69 74 20 30 0a |.fi &&..|.exit 0.|
+--------+-------------------------+-------------------------+--------+--------+